home *** CD-ROM | disk | FTP | other *** search
/ Collection of Tools & Utilities / Collection of Tools and Utilities.iso / dbase / dbpass10.zip / PASSCHEK.PRG < prev    next >
Text File  |  1992-03-11  |  2KB  |  64 lines

  1. **************************************************************************
  2. *   Name........: PASSCHEK.PRG                                           *
  3. *   Purpose.....: Check if password is correct. If not does a CANCEL     *
  4. *   Date........: 11/03/92                                             *
  5. *   By..........: Frederico Terenas    E-mail: cs_a264@Kingston.ac.uk    *
  6. **************************************************************************
  7.  
  8. * Constraints:
  9. * Your password name should not end with spaces.
  10.  
  11. PROCEDURE PASSCHEK                   && Check password
  12.  
  13. PRIVATE ALL
  14. RESTORE FROM CHAVE ADDITIVE          && loads password file into mem
  15.  
  16. ENC_FACTOR = 1200                    && factor
  17.  
  18. IF PASSWORD[1] <> 0                  && is password set ?
  19.  
  20.     SET COLOR OF FIELDS TO R/R       && turn fg colour equal to bg color
  21.  
  22.     @  13,54 TO 15,77
  23.     @ 14,56 SAY "Password:"
  24.     Pass = SPACE(10)
  25.     @ 14,66 GET Pass PICTURE "XXXXXXXXXX"
  26.     READ
  27.  
  28.     SET COLOR OF FIELDS TO W+/R           && restore colors
  29.  
  30.     Len2 = LEN(RTRIM(Pass))
  31.  
  32.     IF Length1 <> Len2                      
  33.         OK = .F.
  34.     ELSE
  35.         Counter = 1
  36.         DO WHILE (Counter <= Length1) .AND. OK
  37.            IF ASC(SUBSTR(Pass,Counter,1)) + ENC_FACTOR <> (Password[Counter])
  38.                OK = .F.
  39.            ELSE
  40.                Counter = Counter + 1
  41.            ENDIF
  42.         ENDDO
  43.     ENDIF
  44.  
  45.     SET CURSOR OFF
  46.     IF OK
  47.         @ 20,30 TO 22,50 COLOR G/W+
  48.         @ 21,32 SAY "Authorised Access"
  49.         A = INKEY(2)
  50.         RELEASE ALL                        && restore memory
  51.     ELSE
  52.         @ 20,32 TO 22,48 COLOR GR+/R
  53.         @ 21,34 SAY "Acess Denied"
  54.         Espere = INKEY(2)
  55.         SET CURSOR ON
  56.         CANCEL                            
  57.     ENDIF
  58.  
  59.     SET CURSOR ON
  60.  
  61. ENDIF
  62.  
  63. RETURN                  && from PASSCHEK
  64.